iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
佛心分享-刷題不只是刷題

Java刷題A:Leetcode Top 100 Liked系列 第 18

Day18 Linked Lists鏈結串列 - 概念介紹(上)

  • 分享至 

  • xImage
  •  

鏈結串列Linked Lists)是一種常見的資料結構,用來動態儲存元素。鏈結串列的元素是以節點的形式彼此連結,每個節點包含資料與指向下一個節點的指標。根據節點之間的鏈接方式,鏈結串列可以分為單向鏈結串列、環狀鏈結串列以及雙向鏈結串列 (如圖所示)。根據後面三題題目會用到單向鏈結串列及環狀鏈結串列結構,所以接下來只會對這兩種結構來做說明。
https://ithelp.ithome.com.tw/upload/images/20241002/20168780rRComWyFst.png

單向鏈結串列
單向鏈結串列的每個節點只包含資料和指向下一個節點的指標,串列指標首 (first 指標) 會指向第一個節點,而串列指標尾 (last 指標) 會指向最後一個節點,最後節點的下一個節點指標則會指向 null。此鏈結串列的結構是單向的,這意味著只能從第一個節點開始依次向後遍歷,直到到達最後一個節點。接下來會分別說明單向鏈結串列是如何刪除節點、插入新節點及連結:

  • 刪除節點
    1. 刪除第一個節點:將 first 指標指向第二個節點即可。
      https://ithelp.ithome.com.tw/upload/images/20241002/20168780Zajm1DmJdA.png
    2. 刪除中間節點:將刪除節點的前一個節點的指標指向刪除節點的下一個節點即可。
      https://ithelp.ithome.com.tw/upload/images/20241002/20168780kj9mfs6013.png
    3. 刪除最後節點:將指向最後節點的指標直接指向 null 即可。
      https://ithelp.ithome.com.tw/upload/images/20241002/201687808pmbamO58u.png
  • 插入新節點
    1. 插入到第一個節點:將新節點的指標指向原來的第一個節點,再把 first 指標一道新節點上。
      https://ithelp.ithome.com.tw/upload/images/20241002/20168780CJpadwSwmV.png
    2. 插入到中間節點:只要將插入位置的前節點指標指向新結點,再將新節點指標指向後節點即可。
      https://ithelp.ithome.com.tw/upload/images/20241002/201687808Hu8DKdvoK.png
    3. 插入到最後節點:將最後節點的指標指向新節點,新節點在指向 null 即可。
      https://ithelp.ithome.com.tw/upload/images/20241002/20168780UB0gelm09a.png
  • 連結
    如果兩個或兩個以上的鏈結串列要做連結的話,只要將串列的首尾相連即可。
    https://ithelp.ithome.com.tw/upload/images/20241002/20168780plxLoZefeV.png

參考資料:

  1. 蔡明志 (2017)。《資料結構:使用C語言 (第5版)》。臺北:全華圖書。
  2. 吳燦銘、胡昭民 (2018)。《圖解資料結構:使用Java》。新北:博碩文化。

上一篇
Day17 Hashing雜湊法 - 題目3:560. Subarray Sum Equals K
下一篇
Day19 Linked Lists鏈結串列 - 概念介紹(下)
系列文
Java刷題A:Leetcode Top 100 Liked26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言